package com.power.sifa.approve.model.doc;

import cn.hutool.core.util.ObjectUtil;
import com.power.sifa.approve.model.enumeration.Tp_procmaterial;

import lombok.Data;
import org.springframework.stereotype.Component;


/**
 * @ClassName AdmreAuditAcceptNoticeDoc
 * @Author xiongzw
 * @Date 2023/11/23 13:05
 * @Description 行政复议申请受理通知书
 * @Version: 1.0
 **/

@Data
public class AdmreAuditAcceptNoticeDoc extends AbstractDoc {

    /**
     * 申请人
     */
    private String apl_admre_audit_applyname;

    /**
     * 内容
     */
    private String content;


    /**
     * 陈述
     */
    private String statement;

    private final static String TEMPLATE = "    你不服{apl_admre_audit_targetname}[{behavior}]{prcode}提出的行政复议申请，" +
            "本府于{subtime}收到。经审查，该申请符合《中华人民共和国行政复议法》的相关规定，决定予以受理\n";


    private final static String STATEMENT_TEMPLATE = "    根据《中华人民共和国行政复议法》的规定，本府将在受理申请之日起六十日内作出行政复议决定。情况复杂，不能在规定期限内作出行政复议决定的，可以适当延长，延长期限最多不超过三十日。\n" +
            "    申请人在案件受理后，如需补充提交证据材料或了解案件审理情况，可拨打电话：xxx。";


    public AdmreAuditAcceptNoticeDoc() {
        super();
        this.setDocType(Tp_procmaterial.ADMRE_ACCEPT);
    }

    public AdmreAuditAcceptNoticeDoc(String applyid) {
        super(applyid);
        this.setDocType(Tp_procmaterial.ADMRE_ACCEPT);
    }

    public AdmreAuditAcceptNoticeDoc(String applyid, String apl_admre_audit_applyname, String content,String statement) {
        super(applyid);
        this.setDocType(Tp_procmaterial.ADMRE_ACCEPT);
        this.apl_admre_audit_applyname = apl_admre_audit_applyname;
        this.content = content;
        this.statement = statement;
    }


    @Override
    public AbstractDoc generateTemplate(String applyid) {
        AdmreAuditAcceptNoticeDoc template = new AdmreAuditAcceptNoticeDoc(applyid);
        // 案号
        template.setApl_admre_audit_code(this.getApl_admre_audit_code());
        template.setApl_admre_audit_applyname(ObjectUtil.isNotNull(this.getAdmreObj()) ? this.getAdmreObj().getApplyname() : "");
        String content = TEMPLATE.replace("{apl_admre_audit_targetname}", ObjectUtil.isNotNull(this.getAdmreObj()) ?
                this.getAdmreObj().getTargetname() : "" );
        content = content.replace("{behavior}", this.transBehavior());
        content = content.replace("{prcode}", this.transPrcode());
        content = content.replace("{subtime}", this.transSubtime());
        template.setContent(content);
        template.setStatement(STATEMENT_TEMPLATE);
        return template;
    }

}
